Question
${} -diff .{} ?
- jojo
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 187
- Remerciements reçus 0
il y a 15 ans 3 mois #8742
par jojo
${} -diff .{} ? a été créé par jojo
Bonjours les PowerShelleurs, 
Y'a t'il une différence entre .{} et &{}:
[code:1]$yo = &{
ps sv* | select -first 1
$y = 2
ls *
}
$yo
### et celle-ci:
$yo = .{
ps sv* | select -first 1
$y = 2
ls *
}
$yo[/code:1]
Une autre question: pourquoi la sortie est formatté comme une liste ?
merci
<br><br>Message édité par: jojo, à: 8/02/11 08:04
Y'a t'il une différence entre .{} et &{}:
[code:1]$yo = &{
ps sv* | select -first 1
$y = 2
ls *
}
$yo
### et celle-ci:
$yo = .{
ps sv* | select -first 1
$y = 2
ls *
}
$yo[/code:1]
Une autre question: pourquoi la sortie est formatté comme une liste ?
merci
Connexion ou Créer un compte pour participer à la conversation.
- de França
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 67
- Remerciements reçus 0
il y a 15 ans 3 mois #8750
par de França
Réponse de de França sur le sujet Re:${} -diff .{} ?
Hello,
Je ne peut pas te répondre à te première question, mais pour ce qui est du format en liste je crois que c'est le paramètre par défaut de powershell.
Tu peux le modifier avec
Format-List
Format-Wide
Format-Table
Format-Custom
Je ne peut pas te répondre à te première question, mais pour ce qui est du format en liste je crois que c'est le paramètre par défaut de powershell.
Tu peux le modifier avec
Format-List
Format-Wide
Format-Table
Format-Custom
Connexion ou Créer un compte pour participer à la conversation.
- de França
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 67
- Remerciements reçus 0
il y a 15 ans 3 mois #8751
par de França
Réponse de de França sur le sujet Re:${} -diff .{} ?
Hello,
Je ne peut pas te répondre à te première question, mais pour ce qui est du format en liste je crois que c'est le paramètre par défaut de powershell.
Tu peux le modifier avec
Format-List
Format-Wide
Format-Table
Format-Custom
Je ne peut pas te répondre à te première question, mais pour ce qui est du format en liste je crois que c'est le paramètre par défaut de powershell.
Tu peux le modifier avec
Format-List
Format-Wide
Format-Table
Format-Custom
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 15 ans 3 mois #8780
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:${} -diff .{} ?
Salut,
jojo écrit:
[code:1]
$sb={ new-variable MyScope \"Test\"}
rv myScope
#erreur
#Nouvelle portée/scope
&$sb
gv myScope
#erreur
#Portée courante (DotSourcing)
.$sb
gv myScope
#
# Name Value
# ----
# MyScope Test
[/code:1]
jojo écrit:
Oui, la portée dans laquelle on exécute le scriptblock :Y'a t'il une différence entre .{} et &{}
[code:1]
$sb={ new-variable MyScope \"Test\"}
rv myScope
#erreur
#Nouvelle portée/scope
&$sb
gv myScope
#erreur
#Portée courante (DotSourcing)
.$sb
gv myScope
#
# Name Value
# ----
# MyScope Test
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 15 ans 3 mois #8785
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:${} -diff .{} ?
La raison pour laquelle tout sort au format liste alors que pour chaque commande tapée individuellement le résultat sortirait au format table, c'est sans doute que l'évaluation du format à appliquer se fait globalement pour l'ensemble de l'exécution du bloc et non pas commande par commande.
PowerShell essaie de présenter les informations au format table, mais surtout il essaie de tout présenter en une seule table. Du coup, comme les deux commandes retournent des objets de types différents et donc avec des propriétés différentes, il y a conflit dans les noms de propriétés d'un type d'objet à l'autre. PowerShell choisit donc le format liste.
On voit un comportement similaire quand on enchaîne des commandes sur une même ligne séparées par un point-virgule. Là, l'évaluation de la première commande se passe correctement (avec, encore, le choix par défaut d'un format table), mais si une série d'objets arrive avec des propriétés différentes, c'est le format liste qui est retenu. Ce qui est amusant, c'est que si plus loin sur la même ligne le type d'objet initial est à nouveau retourné, la table reprend comme si elle n'avait pas été interrompue.
Deux exemples qui illustrent ça :
[code:1]
# un Script Block avec deux commandes retournant le même type d'objet => sortie au format table :
PS> &{gps sv* | select -first 1
>> gps po*
>> }
>>
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
--
2250 52 24564 81592 153 331,06 212 svchost
393 9 47192 50428 165 3,81 3972 powershell
388 6 52732 12120 154 2,80 5708 powershell
# une ligne qui enchaîne 3 commandes qui retournent des process, des fichiers
# puis à nouveau des process :
PS> gps po*; dir c:\config.*; gps svc*|select -first 2
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
--
384 9 47160 50408 164 3,83 3972 powershell
393 6 50380 18284 154 2,89 5708 powershell
LastWriteTime : 10/02/2009 18:43:10
Length : 0
Name : CONFIG.SYS
2251 52 24348 81328 152 331,56 212 svchost
88 4 2104 25060 32 2,17 380 svchost
[/code:1]<br><br>Message édité par: janel, à: 9/02/11 14:09
PowerShell essaie de présenter les informations au format table, mais surtout il essaie de tout présenter en une seule table. Du coup, comme les deux commandes retournent des objets de types différents et donc avec des propriétés différentes, il y a conflit dans les noms de propriétés d'un type d'objet à l'autre. PowerShell choisit donc le format liste.
On voit un comportement similaire quand on enchaîne des commandes sur une même ligne séparées par un point-virgule. Là, l'évaluation de la première commande se passe correctement (avec, encore, le choix par défaut d'un format table), mais si une série d'objets arrive avec des propriétés différentes, c'est le format liste qui est retenu. Ce qui est amusant, c'est que si plus loin sur la même ligne le type d'objet initial est à nouveau retourné, la table reprend comme si elle n'avait pas été interrompue.
Deux exemples qui illustrent ça :
[code:1]
# un Script Block avec deux commandes retournant le même type d'objet => sortie au format table :
PS> &{gps sv* | select -first 1
>> gps po*
>> }
>>
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
--
2250 52 24564 81592 153 331,06 212 svchost
393 9 47192 50428 165 3,81 3972 powershell
388 6 52732 12120 154 2,80 5708 powershell
# une ligne qui enchaîne 3 commandes qui retournent des process, des fichiers
# puis à nouveau des process :
PS> gps po*; dir c:\config.*; gps svc*|select -first 2
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
--
384 9 47160 50408 164 3,83 3972 powershell
393 6 50380 18284 154 2,89 5708 powershell
LastWriteTime : 10/02/2009 18:43:10
Length : 0
Name : CONFIG.SYS
2251 52 24348 81328 152 331,56 212 svchost
88 4 2104 25060 32 2,17 380 svchost
[/code:1]<br><br>Message édité par: janel, à: 9/02/11 14:09
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.046 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- ${} -diff .{} ?